package response

import (
	"encoding/json"
	"helper-api/utils"
	"time"
)

// RoleListResponse 角色分页查询返回
type RoleListResponse struct {
	Id         int64     `json:"id"`               // 主键
	Name       string    `json:"name"`             // 角色名称
	Code       string    `json:"code"`             // 角色编码
	Brief      string    `json:"brief"`            // 描述
	CreateTime time.Time `json:"createTime"`       // 创建时间
	PermIds    []int64   `json:"permIds" gorm:"-"` // 资源ID
}

type RolePermissionResponse struct {
	RoleId int64 `json:"roleId"`
	PermId int64 `json:"permId"`
}

func (s RoleListResponse) MarshalJSON() ([]byte, error) {
	type temp RoleListResponse
	return json.Marshal(&struct {
		temp
		CreateTime utils.DateTime `json:"createTime"`
	}{
		temp:       (temp)(s),
		CreateTime: utils.DateTime(s.CreateTime),
	})
}

// RoleKeyValueResponse 角色的key-value
type RoleKeyValueResponse struct {
	Value int64  `json:"value"`
	Label string `json:"label"`
}
